<template>
  <div class="goods-info" v-if="isShowComp">
    <!-- 商品文字描述 -->
    <div class="info-desc clear-fix">
      <div class="i-icon info-start"></div>
      <div class="i-desc">{{ detailInfo.desc }}</div>
      <div class="i-icon info-end"></div>
    </div>

    <!-- 商品关键词 -->
    <div class="info-key">{{ imageData.key }}</div>

    <!-- 商品图片列表展示 -->
    <div class="info-list">
      <img
        v-for="(item, index) in imageData.list"
        :key="'imageData' + index"
        :src="item"
        @load="imgLoad"
      />
    </div>
  </div>
</template>

<script>
export default {
  name: "DetailCommentInfo",
  // 父组件传递数据
  props: {
    detailInfo: {
      type: Object,
      default() {
        return {};
      },
    },
  },
  // 组件数据
  data() {
    return {
      counter: 0,
    };
  },
  // 计算属性
  computed: {
    // 组件是否加载
    isShowComp() {
      return Object.keys(this.detailInfo).length != 0;
    },

    // 图片详情信息
    imageData() {
      return this.detailInfo.detailImage[0];
    },

    // 图片列表长度
    imageListLen() {
      return this.imageData.list.length;
    },
  },
  // 组件方法
  methods: {
    // 监听图片加载完成事件
    imgLoad() {
      // 所有图片加载完成后才把事件给父组件发射出去 ps: 后面我选择折中一下子
      if (
        ++this.counter == this.imageListLen ||
        this.counter == this.imageListLen / 2
      ) {
        this.$emit("imageLoad");
      }
      // console.log("counter >>>", this.counter);
    },
  },
};
</script>

<style lang="less" scoped>
.goods-info {
  padding: 20px 0;
  border-bottom: 5px solid #f2f5f8;
  .info-desc {
    // 商品描述
    padding: 0 15px;
    .i-desc {
      padding: 15px 0;
      line-height: 20px;
      font-size: 14px;
    }
    // 一条线与一个小方块
    // 一条线
    .i-icon {
      position: relative;
      width: 90px;
      height: 1px;
      background-color: #a3a3a5;
    }
    // 左右浮动
    .info-start {
      float: left;
    }
    .info-end {
      float: right;
      &::after {
        right: 0;
      }
    }
    // 小方块 >>> 一个在头部添加 一个在尾部添加
    .info-start::before,
    .info-end::after {
      position: absolute;
      content: "";
      bottom: 0;
      width: 5px;
      height: 5px;
      background-color: #333333;
    }
  }
  .info-key {
    // 商品关键词
    margin: 10px 0 10px 15px;
    color: #333333;
    font-size: 15px;
  }
  .info-list {
    // 商品图片列表 >>> 设置图片展示大小
    img {
      width: 100%;
    }
  }
}
</style>